/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ControleAcademico.Model.Dao;

import ControleAcademico.Model.Pojo.Professor;
import java.io.IOException;
import java.util.ArrayList;

/**
 *
 * @author arthur
 * @author renan
 * @author tais
 * @author vinicius
 */
public class ProfessorDaoImp implements ProfessorDao{
    
    // Atributos
    private ArrayList<Professor> listaProfessores;

    // Metodos
    public ProfessorDaoImp(){
        this.listaProfessores = new ArrayList<Professor>();
    }
    public ArrayList<Professor> getLista() {return this.listaProfessores;}
    
    
    @Override
    public void adicionar(Professor professor) throws IOException{
        
        if(!(this.listaProfessores.contains(professor))){
            this.listaProfessores.add(professor);
        }
        else {
            throw new IOException();
        }
        
    }
    
    
    @Override
    public void remover (Professor professor){
        this.listaProfessores.remove(professor);
    }
    
    
    @Override
    public ArrayList<Professor> obterLista() {
        
        ArrayList<Professor> copiaLista = new ArrayList<Professor>();
        
        int index = 0;
        for(Professor a: this.listaProfessores){
            copiaLista.add(this.listaProfessores.get(index));
            index++;
        }
        return copiaLista;
    }
    
    
    @Override
    public Professor buscar (int id) throws IOException{
        
        int index = 0;
        boolean encontrou = false;
        for(Professor p : listaProfessores) {
            if(p.getId() - id == 0) {
                encontrou = true;
                break;
            }
            index++;
        }
        if (encontrou == true) {
            return listaProfessores.get(index);
        } else {
            throw new IOException();
        }
    }

}
